export default () => {
    // eslint-disable-next-line prettier/prettier
    (function flexible (window, document) {
        const docEl = document ? document.documentElement : null
        const dpr = window ? window.devicePixelRatio : 1
        const baseSize = 100
        // adjust body font size
        // function setBodyFontSize () {
        //     if (document.body) {
        //         document.body.style.fontSize = (12 * dpr) + 'px'
        //     } else {
        //         document.addEventListener('DOMContentLoaded', setBodyFontSize)
        //     }
        // }
        // setBodyFontSize()

        // set 1rem = viewWidth / 10
        // eslint-disable-next-line prettier/prettier
        function setRemUnit () {
            // 当前页面宽度相对于 1920 宽的缩放比例，可根据自己需要修改。
            let scale = document && document.documentElement.clientWidth / 1920
            // 最小1200
            if (scale <= 0.625) {
                scale = 0.625
            }
            // 设置页面根节点字体大小
            const resultScale = baseSize * Math.min(scale, 0.95)
            docEl && (docEl.style.fontSize = resultScale + 'px')
        }

        setRemUnit()

        // reset rem unit on page resize
        window && window.addEventListener('resize', setRemUnit)
        window &&
            window.addEventListener('pageshow', function (e) {
                if (e.persisted) {
                    setRemUnit()
                }
            })

        // detect 0.5px supports
        if (dpr >= 2) {
            const fakeBody = document.createElement('body')
            const testElement = document.createElement('div')
            testElement.style.border = '.5px solid transparent'
            fakeBody.appendChild(testElement)
            docEl.appendChild(fakeBody)
            if (testElement.offsetHeight === 1) {
                docEl.classList.add('hairlines')
            }
            docEl.removeChild(fakeBody)
        }
    })(window, document)
}
